package cn.zwk.drawing.domain.diagram.model;

import lombok.Data;
import lombok.Builder;

/**
 * 节点样式配置
 */
@Data
@Builder
public class NodeStyle {
    
    /**
     * 背景颜色
     */
    private String backgroundColor;
    
    /**
     * 边框颜色
     */
    private String borderColor;
    
    /**
     * 文字颜色
     */
    private String textColor;
    
    /**
     * 节点形状
     */
    private String shape;
    
    /**
     * 图标
     */
    private String icon;
    
    /**
     * CSS类名
     */
    private String cssClass;
}

/**
 * 节点位置信息
 */
@Data
@Builder
class NodePosition {
    
    /**
     * X坐标
     */
    private Double x;
    
    /**
     * Y坐标
     */
    private Double y;
    
    /**
     * 宽度
     */
    private Double width;
    
    /**
     * 高度
     */
    private Double height;
    
    /**
     * 检查点是否在节点范围内
     */
    public boolean contains(double pointX, double pointY) {
        return pointX >= x && pointX <= x + width &&
               pointY >= y && pointY <= y + height;
    }
}